﻿#define DEBUG
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SEG.ServiceLogic;
using SEG.Model;
using Common.Security;

namespace SEG.UI.Control.Presenters
{
    public class IdentificarUsuarioPresenter
    {
        private Views.IIdentificarUsuarioView View;
        private AdministrarUsuariosServiceLogic serviceLogic = new AdministrarUsuariosServiceLogic();
        private AutenticarUsuarioParameter usuario;

        public IdentificarUsuarioPresenter(Views.IIdentificarUsuarioView view)
        {
            this.View = view;

            this.Load();
        }

        private void Load()
        {
            usuario = new AutenticarUsuarioParameter();
#if (DEBUG)
            usuario.NombreUsuario = @"BigBang\Fernando";
            usuario.Contrasenia = "123";
#endif
         
            this.View.Usuario = usuario;
        
        }

        internal void Aceptar()
        {
            // recuperar usuario y persistir sesion
            AutenticarUsuarioParameter autenticar = new AutenticarUsuarioParameter();
            autenticar.NombreUsuario = this.View.Usuario.NombreUsuario;
            autenticar.Contrasenia = Cryptography.GetPassword(this.View.Usuario.Contrasenia);

            Session.Usuario = serviceLogic.Read(autenticar);
        }

        internal void Cancelar()
        {
            serviceLogic.RejectChanges();
        }
    }
}
